home *** CD-ROM | disk | FTP | other *** search
-
-
- *****Listing 2*****
-
-
- 001 /* obj.h - Interface to module for object oriented
- 002 programming in C. */
- 003
- 004 struct class {
- 005 int size; /* size of data */
- 006 int nbr_methods;
- 007 void (**method)();
- 008 };
- 009
- 010 typedef struct class CLASS;
- 011
- 012 typedef struct {
- 013 void *data;
- 014 CLASS *class;
- 015 } OBJECT;
- 016
- 017 void new_class(CLASS *class, CLASS *super_class,
- 018 int nbr_methods, int size);
- 019 void reg_method(CLASS *class, int mth, void (*fcn)());
- 020 void new_object(OBJECT *obj, CLASS *class);
- 021 void message(OBJECT *obj, int msg, ...);
- 022 void free_object(OBJECT *obj);
- 023 void free_class(CLASS *class);
-